During the past decade, the Internet has grown exponentially both with regard to the number of users and the types of services offered. Some area of interest is human to program communications that enable users to order and sell products, conduct research, place telephone calls, query online databases, and so on. These functions can be grouped user the term “web interactions.” Another area of interest is program-to-program (P2P) communication via a set of standards such as simple object access protocol (SOAP), hyper text transfer protocol (HTTP) and web services description language (WSDL). These functions can be grouped under the term “web services.”
Currently, many web services decouple various component parts or aspects of an implementation from each other to provide modularity in development, testing, deployment and use. Examples of decoupled web service aspects include, but are not limited to, transport, platform, programming language, and component implementation design. However, typically web services do not decouple components with respect to issues such as changing requirements relating to more or less information and changes to the web service's information model
This issue creates a “response conundrum,” which includes the following aspects:                Difficulty with efficiency; When responding to a request for information, there are basically two choices:                    1. A web service may return everything available which results in message bloat, and unnecessary data retrieval.            2. A web service may return very specific information which results too many requests being sent in order for the requestor to get all its required information.                        Difficulty managing change; When new information becomes available from a web service, there are two choices:                    1. A service can return it in the response to existing requests, which risks breaking client software and raises efficiency issue 1 above.            2. A service can add new requests which results in interface bloat, and efficiency issue 2 above.                        
The response conundrum is a long standing problem that has never been well addressed in a program-to-program (P2P) communication area. In the database (DB) area this problem is solved by a structured query language (SQL) query sent to a DB. SQL enables a requester to both control the amount and form of the query results and to be isolated (assuming the query follows good practices) from many extensions or other modifications that might occur to the target DB. However, this approach is not practical for general P2P communication as DB query languages are typically too complex for applications to process effectively.
Several acronyms are used in this Specification within an exemplary architecture that supports the claimed subject matter. The acronyms are as follows:                XML: Short for Extensible Markup Language, a specification developed by the World Wide Web Consortium (W3C). XML is a paired-down version of standard generalized markup language (SGML), designed especially for Internet, or web, documents. It allows designers to create their own customized tags, enabling the definition, transmission, validation, and interpretation of data between applications and between organizations.        UML: Short for Unified Modeling Language, a general-purpose notational language for specifying and visualizing complex software, especially large, object-oriented projects. UML builds on previous notational methods such as Booch, OMT, and DOSE.        WSDL: Short for Web Services Description Language, an XML-formatted language used to describe a web service's capabilities as collections of communication endpoints capable of exchanging messages. WSDL is an integral part of UDDI, an XML-based worldwide business registry. WSDL is the language that UDDI uses. WSDL was developed jointly by the Microsoft Corporation of Redmond, Wash. and International Business Machines Corp. (IBM) of Armonk, N.Y.        XMI: Short for XML Metadata Interchange, an XML application that facilitates the standardized interchange of object models, and metadata over the Internet among groups working in team development environments using tools and applications from multiple vendors. XMI also can be used to exchange information about data warehouses. XMI is based on three industry standards—XML, UML, and MOF (an OMG modeling and metadata repository standard). The architecture enables tools to share metadata programmatically using XML or common object request broker architecture (CORBA) interfaces specified in the UML or MOF standards.        
What is needed is a method to allow Web Services requestors to control the form and quantity of information returned and of isolating a requestor from changes in the provider's information model until the requestor's implementation is evolved to support the changes.